package com.yihuan.mapper;

import com.yihuan.entity.OrderEntity;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * Author:梦醒
 * Date: 2022/4/24 17:46
 * Dream:
 * 信言不美，美言不信。
 * 善者不辩，辩者不善。
 * 知者不博，博者不知。
 * Function:
 */
@Mapper
public interface OrderMapper {
    /**
     * 注册订单信息
     *
     * @param orderEntity
     * @return
     */
    int insertOrderByOrderData(OrderEntity orderEntity);
    
    /**
     * 更改订单状态
     *
     * @param orderEntity
     * @return
     */
    int updateOrderByOrderState(OrderEntity orderEntity);
    
    /**
     * 查询订单编号
     *
     * @param orderEntity
     * @return
     */
    List<OrderEntity> findOrderByOrderAndOrderDate(OrderEntity orderEntity);
    
    /**
     * 查询对应公司的订单信息
     *
     * @param orderEntity
     * @return
     */
    List<OrderEntity> findOrderByOrderUsersData(OrderEntity orderEntity);
    
    /**
     * 更改订单信息
     *
     * @param orderEntity
     * @return
     */
    int updateOrderByUsersID(OrderEntity orderEntity);
    
    /**
     * 已结单 未输入数据
     *
     * @param orderEntity
     * @return
     */
    List<OrderEntity> findOrderByOrderStateData(OrderEntity orderEntity);
    
    /**
     * 输入总价
     *
     * @param orderEntity
     * @return
     */
    int updateOrderByOrderPrice(OrderEntity orderEntity);
    
    /**
     * 查询不同状态下的订单
     *
     * @param orderEntity
     * @return
     */
    List<OrderEntity> findOrderByOrderData(OrderEntity orderEntity);
    
    /**
     * 分页查询
     *
     * @param orderEntity
     * @return
     */
    List<OrderEntity> findOrderByOrderList(OrderEntity orderEntity);
    
    /**
     * 统计分页查询数据
     *
     * @param orderEntity
     * @return
     */
    int countOrderList(OrderEntity orderEntity);
    
    /**
     * 成交金额
     *
     * @param orderEntity
     * @return
     */
    double sumOrderListByCompID(OrderEntity orderEntity);
    
    /**
     * 成交金额
     *
     * @param orderEntity
     * @return
     */
    double sumOrderList(OrderEntity orderEntity);
    
    
    /**
     * 统计订单数量
     *
     * @param orderEntity
     * @return
     */
    int sumOrderListByCompIDAndOrderState(OrderEntity orderEntity);
    
    /**
     * 统计订单数量
     *
     * @param orderEntity
     * @return
     */
    int sumOrderListAndOrderState(OrderEntity orderEntity);
    
    /**
     * 查询订单对应的数据
     *
     * @param orderEntity
     * @return
     */
    List<OrderEntity> findOrderPriceByOrderPrice(OrderEntity orderEntity);
    
}
